概述
						
						SViewBase for Android 提供三维模型基本的浏览、模型属性操作、基本三维对象操作、动画播放、测量、批注等功能的实现接口,
						可实现基本的 三维模型展示功能,以便于用户个性化定制属于自己的产品。 					
                         
					 
						
						需要快速集成使用的用户,可选择有基本功能界面的控件版本 SViewFrame for Android 集成控件进行集成。
						
                  
												
						集成准备
						
                            集成之前需要熟悉集成环境以便快速准确的集成相关功能界面。详细集成准备如下所示: 
                        
												 
                         集成环境
                        	
								SViewBase for Android 开发库集成需要的环境:
								
						- 开发环境:JDK7或以上版本
- 开发工具:Android Studio或Eclipse
- 运行环境: Android4.0以上的设备
集成说明
						
                          SDK包解压SDK后得到以下内容:
                        
  
                        
                            其中,ADT文件夹包含了Eclipse开发所需要的工程文件;
							Android Studio 文件夹包含了Android Studio所需的文件;Doc文件夹为SDK相关文档;
							Demo包含了Eclipse和Android Studio演示工程
                        
							
                        
						
						Android Studio集成
                     
						控件资源
                        
                            Android studio文件夹下的sviewbase.aar文件为控件资源
                        
						 
                        资源导入
						
                            打开Android Studio,将sviewbase.aar添加到您工程的libs文件夹下,如图所示。
                        
						 
                        修改app的build.gradle 配置文件
						
					
						 {
repositories {
flatDir {
    dirs 'libs'
    }
}
                           添加一个本地仓库,并把libs目录作为仓库的地址。修改dependencies: 添加compile(name: sviewbase, ext: 'aar'),
						   其中name就是libs目录下sviewbase.aar文件名称,ext是其扩展名。
                        
						
                            选择你的project 鼠标右键选择
							
						【open Module Settings】
                         
                        
                            选择你的module Dependencies 选项卡,选择+号,选择
						
						【File dependency】 找到需要导入的jar包,点击ok
                         
 
                         
 
                        点击Rebuild Project按钮重新构建工程
	
							
						  注意事项:
                                
      
						
						- 若遇到aapt finished with non-zero exit value 1 异常,请将SDK的build.gradle中的 buildToolsVersion 设置为与app中build.gradle文件的buildToolsVersion相同, 然后Rebuild Project。;
- 若遇到module 合并时的重名冲突问题,请尝试重命名冲突的文件并Rebuild Project;
- 如果提示:mergeDebugResources AAPT err,你可以在app 下的build.gradle 文件下添加
aaptOptions.cruncherEnabled = false aaptOptions.useNewCruncher = false 
Eclipse集成
                      
                        
                            ADT文件夹下的内容为Eclipse开发所需的工程文件
                        
						 
                        
                            控件资源,ADT文件夹中asserts包含了控件所需的资源,libs文件夹包含了控件所需jar包和so动态库,其他文件为工程附件文件,用户不需要关心。
                        
						
												
						
                            资源导入,将下载的SDK导入到Eclipse,具体操作方法为:
                        
						
						
                           File选择
						【Import】,然后打开Android,选择【Existing Android Code Into Workspace】, 点击下一步,在RootDirectory中填入SDK的具体路径,点击完成。					   
                         
                        
                          主工程(开发者自己的APP工程)依赖SDK,打开主工程属性(Properties),定位到Android,然后在Libray中选择Add,选择刚才导入的工程Library工程。
                        
						 
                        
                         如果自己创建的工程未包含android-support-v4.jar,请从我们的Demo工程中复制。
						 
						
                         将Asserts 目录下的SViewData文件夹拷贝到您的工程中。
                        
						
						
                            注意:我们不建议直接将SDK内容复制到主工程的方式,这样后续SDK升级会比较麻烦,也容易遗漏一些文件的升级(比如res目录)
                        
						
                        
						主体功能集成
						应用权限声明
  						  						 
						
                            由于控件需要SDCard读写,录音等权限,请在AndroidManifest里面加入如下权限配置:
                        
						<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /> //OpenGLES 渲染器版本设定 <uses-feature android:glEsVersion="0x00020000" />
控件资源初始化
						
                            在创建SViewBase控件对象之前,需要初始化SViewBase所需的本地资源,OpenGLES版本等信息。此过程一般在Application中进行,
							基本流程如下,此代码可以从Demo工程拷贝,根据需要做配置修改。
						
						
/**
* 初始化SView参数
*/
public void initSViewBaseConfig () {
   SViewConfig config = SView.getConfig();
   config.setApplication(this);
   //资源路径设置
   String assertDataPath = "SViewData";
   String workingPath = appWorkingPath;
   config.setAssertDataPath(assertDataPath);
   config.setWorkingPath(workingPath);
   //语言
   int language = SViewConfig.LANGUAGE_CH;
   String internationalLanguage = Locale.getDefault().getCountry();
   if (internationalLanguage.toLowerCase().equals("us")
		|| internationalLanguage.equals("en")) {
		language = SViewConfig.LANGUAGE_EN;
   }
   config.setLanguage(language);
   config.setGLESVersion(SViewConfig.GLESVERSION10);
   SView.loadConfig();								
   //数据拷贝后会缓存在SDCard上,为了加快程序启动速度,此过程不需要每次都执行
   SView. copyResource ();
}拷贝字体,图片等资源
			
						
							由于资源拷贝后存储于SDCard中,此拷贝过程可以在新版本第一次打开时进行。参考Demo工程资源拷贝代码进行配置。
							SView.copySViewFrameData();
                        
                        License授权设置
								
			 LicenseManager.setLicenceKey("M2VURUFPMCJEVHJPEgQNHhZDbFRoT1YhQ01JT1VFZGVURUFPPk1GTmheRklrTVNPRC1qT05FU11CWWwJQgA=");
Demo说明
                        
                            调用控件方法
                        
						 
						
							SView对象支持通过xml布局文件和代码两种方式初始化,这里提供通过xml布局文件初始化的流程,详细使用请参考Demo工程。
											
                        
						view1 = (SView) findViewById(R.id.sview_view_view);
                            常见问题
                        
						- 集成控件后,能够显示菜单但是模型显示界面为黑色。
- 集成控件出现打开模型空白或者没有授权。
							这是由于SViewBase所依赖的C++动态库,没有打包进入您的apk导致,请清理工程重新生成apk再试。
                        
						 
							可能的原因有两个:
							 
                    
							    1).授权时间到期。请联系我们申请延长期限。
							 
							  
							    2).so文件读取异常。集成初期一般为这个原因,
							请检查是否存在多个存在so文件的文件夹:如同时存在x86.armeabi,armeabi-v7a,armeabi-v8a....,建议在性能要求不过分要求的情况下只保留armeabi-v7a即可。
                             
							  
							    3).运行设备系统为64位导致。
							可以在项目的gradle中增加强制使用armv7a下的so文件。参考代码如下:
					   
					   
                          defaultConfig {
                           //强制使用armv7下的so文件。解决64位机器加载so文件不成功的问题
                              ndk{
                                 abiFilters "armeabi-v7a"
                                 }
                               }
                           
						
					
						查看SViewBase接口文档